/** 设备 UA 信息 */
const UA = {
	inMobile: false,
	inAndroid: false,
	iniPad: false,
	inMac: false,
	iniPhone: false,
	inIOS: false,
	inSamsung: false,
	inWeichat: false,
	inSafari: false,
	inChrome: false,
	inQQBrowser: false,
	inUCBrowser: false,
	inIE: false,
	inOpera: false,
	inWebKit: false,
	inFireFox: false
};
const userAgent = navigator.userAgent;
UA.inMobile = !!userAgent.match(/applewebkit.*mobile.*/i); // 移动终端
UA.inAndroid = userAgent.match(/(Android);?[\s\/]+([\d.]+)?/) ? true : false; // android终端
UA.iniPad = userAgent.match(/(iPad).*OS\s([\d_]+)/) ? true : false; // iPad终端
UA.inMac = userAgent.match(/(Mac\sOS)\sX\s([\d_]+)/) ? true : false; // iMac终端
UA.iniPhone = !UA.iniPad && userAgent.match(/(iPhone\sOS)\s([\d_]+)/) ? true : false; // iPhone终端
UA.inIOS = UA.iniPad || UA.inMac || UA.iniPhone; // ios终端
UA.inSamsung = userAgent.toUpperCase().indexOf('SAMSUNG-SM-N7508V') != -1;

UA.inWeichat = userAgent.match(/MicroMessenger/i) != null; // 微信内部浏览器
UA.inSafari = userAgent.indexOf('Safari') != -1; // Safari
UA.inChrome = userAgent.match(/Chrome/i) != null && userAgent.match(/Version\/\d+\.\d+(\.\d+)?\sChrome\//i) == null ? true : false;
UA.inQQBrowser = userAgent.match(/MQQBrowser\/([\d\.]+)/) ? true : false; // QQ浏览器
UA.inUCBrowser = userAgent.match(/UCBrowser\/([\d\.]+)/) ? true : false;
UA.inIE = userAgent.match(/Trident/i) != null; // IE内核
UA.inOpera = userAgent.match(/Presto/i) != null; // opera内核
UA.inWebKit = userAgent.match(/Applewebkit/i) != null; // 苹果、谷歌内核
UA.inFireFox = userAgent.match(/Gecko/i) != null && userAgent.match(/khtml/i) != null; // 火狐内核

// 判断浏览器是否为 Chrome 104 以上
export const isChrome104Plus = () => {
	const ua = navigator.userAgent;
	const chromeMatch = ua.match(/Chrome\/(\d+)/);
	
	// 判断是否为 Chrome
	if (chromeMatch === null) {
	  return false;
	}
	
	// 获取 Chrome 版本号
	const chromeVersion = parseInt(chromeMatch[1]);
	
	// 判断 Chrome 版本是否大于等于 104
	return chromeVersion >= 104;
}

export default UA;
